package org.nepu.srr.设备设施本体风险.直观检查.井控设备;

import lombok.Data;
import org.nepu.sc.domain.CommonMethods;
import org.nepu.sc.domain.DataVO;

import javax.persistence.Convert;

@Data
public class B239WellControlParams {
    //检查防喷器组的各组件的铭牌	□完整           □不全
    DataVO estimate1;

    //防喷器组合形式及压力级别应符合设计要求；现场配备的钻井四通、阻流压井管汇/防喷管线应与防喷器组额定压力相一致	□符合           □不符合
    DataVO estimate2;

    //防喷器组所有连接法兰、密封垫环、螺栓均应符合API RP 16A的要求，密封垫环及密封槽不应有影响密封的缺陷存在	□到位           □不到位
    DataVO estimate3;

    //闸板防喷器手动锁紧工具应置于周边易取用位置	□符合           □不符合
    DataVO estimate4;

    //防喷器液控管汇应使用高压耐火隔热软管，使用自封接头与防喷器连接，连接部位应安装防护链	□符合           □不符合
    DataVO estimate5;

    //剪切闸板防喷器宜位于闸板防喷器组的最顶端	□符合           □不符合
    DataVO estimate6;

    //钻井四通两翼的压井和放喷接口应分别串接手动和液动阀各一只，且手动阀应直接与钻井四通相接并保持常开位置	□符合           □不符合
    DataVO estimate7;

    //钻井四通压井端通径不应小于50.8mm（2in），放喷端通径不应小于76.2mm（3in）	□符合           □不符合
    DataVO estimate8;

    //对于手动锁紧机构，应检查锁紧轴状况，不应有刮痕、蚀坑、弯曲和螺纹损坏情况	□无明显锈蚀、变形、扭曲和损伤□有变形           □有扭曲□有损伤           □有锈蚀
    DataVO estimate9;

    //闸板防喷器侧门锁紧机构(包括螺栓、螺栓孔等)应不存在乱扣、缺扣等影响锁紧能力的缺陷。如果侧门锁紧机构为锁紧销结构，锁紧销及孔应不存在变形等情况	□符合           □不符合
    DataVO estimate10;

    //防喷器组均应采用标准螺栓安装，法兰连接螺栓应对称均匀并按照要求的扭矩上紧	□符合           □不符合
    DataVO estimate11;

    //节流压井管汇控制台：管汇原理图的张贴情况	□符合           □不符合
    DataVO estimate12;

    //节流管汇额定工作压力应不小于在用闸板防喷器的额定工作压力，其通径不应小于3in	□符合           □不符合
    DataVO estimate13;

    //节流管汇应不少于两条可通过节流阀控制井筒压力实现连续节流放喷作业的通路	□符合           □不符合
    DataVO estimate14;

    //节流管汇下游端管线通径不应小于节流阀进口、出口通径	□符合           □不符合
    DataVO estimate15;

    //除节流阀外，节流管汇上的其他阀门应采用全通径的闸板阀	□符合           □不符合
    DataVO estimate16;

    //节流阀上游端应安装压力表传感器和压力表，节流阀下游应配置缓冲管	□符合           □不符合
    DataVO estimate17;

    //缓冲管下游应至少设有通往液气分离器、钻井液槽及测试燃烧臂或天车顶部的排出口	□符合           □不符合
    DataVO estimate18;

    //防喷器组至节流管汇间的节流管线应选配硬管或满足SY/T 5323耐火要求的软管	□符合           □不符合
    DataVO estimate19;

    //节流压井管汇上的阀门应编号并标明开关位置	□符合           □不符合
    DataVO estimate20;

    //由活接头型式连接的节流压井管线应安装安全链	□符合           □不符合
    DataVO estimate21;

    //节流管汇液压系统管线与接头以及液缸是否存在漏油现象，是否存在备用液压系统	□是             □否
    DataVO estimate22;

    //压井管汇及管线额定工作压力应不小于在用闸板防喷器的额定工作压力，其通径不应小于2in	□符合           □不符合
    DataVO estimate23;

    //节流、压井管汇标示应清晰可辨，压力级别应符合设计要求	□符合           □不符合
    DataVO estimate24;

    //压井管线宜平直布置并施以固定：采用硬管时，弯管处的曲率半径应满足R/r>10，否则应在流体方向设置冲蚀靶或流体缓冲垫。对于90°弯头及“T”形管，应在流体方向设置冲蚀靶或流体缓冲垫。	□符合           □不符合
    DataVO estimate25;

    //应至少设置一个主控台、一个司钻控制台和一个辅助遥控台，每个控制盘应具备操控所有防喷器及遥控压井和防喷阀的功能	□符合           □不符合
    DataVO estimate26;

    //主控台至防喷器组的液压控制管线应采用满足要求的耐火软管，并标识功能	□符合           □不符合
    DataVO estimate27;

    //三个控制台内的关键功能应安装不妨碍操作的安全护罩，如剪切闸板防喷器功能按钮或操作阀	□符合           □不符合
    DataVO estimate28;

    //司钻控制台和辅助遥控台内的操控阀排列形式应与防喷器组合形式相同	□符合           □不符合
    DataVO estimate29;

    //司钻控制台与辅助遥控台对应的控制阀开关动作应一致	□符合           □不符合
    DataVO estimate30;

    //司钻控制台应能操控所有防喷器及液动阀，调节环形防喷器的控制压力，操控液压控制管汇旁通阀，并具有蓄能器压力、控制管汇压力、环形防喷器控制压力和气源压力的显示功能	□符合           □不符合
    DataVO estimate31;

    //司钻控制台能显示各调压阀的一次油压与二次油压误差：储能器±0.6MPa，环形和闸板±0.3MPa	□符合           □不符合
    DataVO estimate32;

    //除对调压阀的压力调节外，司钻控制台及辅助遥控台其他功能都应在同时操作总开关和功能开关两个开关后才能实施	□符合           □不符合
    DataVO estimate33;

    //辅助遥控台应具备操控所有防喷器及液动阀的功能	□符合           □不符合
    DataVO estimate34;

    //以电源作为动力操控的司钻控制台及辅助遥控台应配有备用电源。当主电源供电中断时，应能自动切换到备用电源。备用电源应能够至少保持操控工作2h	□符合           □不符合
    DataVO estimate35;

    //司钻控制台能显示各调压阀的一次油压与二次油压误差：储能器±0.6MPa，环形和闸板±0.3MPa	□符合           □不符合
    DataVO estimate36;

    //司钻控制台应装有声、光报警以显示以下情况：储能器压力低、钻机气源压力低、液箱液面低	□符合           □不符合
    DataVO estimate37;

    //泵冲计数器、传感器及电缆安装齐全，泵冲和累计冲数表准确可靠，工作正常	□符合           □不符合
    DataVO estimate38;

    //供给控制台的气源管线应用专门的闸阀控制，所有液气管线应用快换接头连接。各油气路连接牢固、密封良好	□符合           □不符合
    DataVO estimate39;

    //遥控节流阀应配置具有立管压力、套管压力、泵冲数和节流阀开启度显示功能的专用控制装置，并配置备用动力源（如手动泵或氮气源）	□符合           □不符合
    DataVO estimate40;

    //检查立管压力变送器、套管压力变送器的工作情况，二次仪表应与立管和套管压力一致	□符合           □不符合
    DataVO estimate41;

    //液气分离器应位于钻台外缘靠近节流管汇一侧并固定牢靠，进液、排液及排气管线应采用法兰连接方式并加以固定。排气管线宜引至井架顶部，并高出天车至少3m，也可引至燃烧臂处	□符合           □不符合
    DataVO estimate42;

    //液气分离器的罐体通径不应小于762mm，处理量不应小于180m3/h	□符合           □不符合
    DataVO estimate43;

    //液气分离器进液管线通径不应小于节流管汇通径，排气管线通径不应小于152mm（6in），排液管线通径应大于进液管线	□符合           □不符合
    DataVO estimate44;

    //应设置液面控制和沉积物排放装置，并安装压力表和压力传感器，应能在司钻控制台处观察到压力读数	□符合           □不符合
    DataVO estimate45;

    //罐体内应装有探测液位、液体容积的测量装置，应配备机械式和电子式两种测量装置，测量数据能在计量罐、司钻控制台处读取，并应具有液位高低位报警功能	□符合           □不符合
    DataVO estimate46;

    //应采用无盖的敞开式罐体结构，罐体容积不应大于15m³，并宜分隔为大小两个罐体	□符合           □不符合
    DataVO estimate47;

    //钻井液自动灌注系统应有强制人工灌注保障措施，确保当自动灌注系统失效时，用人工完成钻井液灌注作业	□符合           □不符合
    DataVO estimate48;

    //钻台上有起下钻灌浆钻井液记录表	□符合           □不符合
    DataVO estimate49;

    //钻台应备有与钻杆相匹配的内防喷装置。包括：钻杆内防喷器、投入式止回阀、可满足快速下钻的变扣接头	□符合           □不符合
    DataVO estimate50;

    //配备的钻具内防喷装置的额定工作压力应与井口防喷器工作压力一致	□符合           □不符合
    DataVO estimate51;

    //顶驱中心管或方钻杆下方应安装旋塞阀	□符合           □不符合
    DataVO estimate52;

    //顶驱旋塞阀液动开关应灵活，开关到位；手动旋塞考克应配备扳手且灵活可靠，润滑良好	□符合           □不符合
    DataVO estimate53;

    //钻台上应配备与对应旋塞阀相匹配的旋塞阀开关扳手，应放置于易于取放的固定位置	□符合           □不符合
    DataVO estimate54;

    public B239WellControlResult rate(){
        double fullScore = 430;
        double score = 0;
        if(estimate1.getData().equals("合格")){
            score += 5;
        }
        if(estimate2.getData().equals("合格")){
            score += 10;
        }
        if(estimate3.getData().equals("合格")){
            score += 10;
        }
        if(estimate4.getData().equals("合格")){
            score += 5;
        }
        if(estimate5.getData().equals("合格")){
            score += 5;
        }
        if(estimate6.getData().equals("合格")){
            score += 5;
        }
        if(estimate7.getData().equals("合格")){
            score += 5;
        }
        if(estimate8.getData().equals("合格")){
            score += 5;
        }
        if(estimate9.getData().equals("合格")){
            score += 5;
        }
        if(estimate10.getData().equals("合格")){
            score += 5;
        }
        if(estimate11.getData().equals("合格")){
            score += 5;
        }
        if(estimate12.getData().equals("合格")){
            score += 5;
        }
        if(estimate13.getData().equals("合格")){
            score += 10;
        }
        if(estimate14.getData().equals("合格")){
            score += 10;
        }
        if(estimate15.getData().equals("合格")){
            score += 10;
        }
        if(estimate16.getData().equals("合格")){
            score += 10;
        }
        if(estimate17.getData().equals("合格")){
            score += 10;
        }
        if(estimate18.getData().equals("合格")){
            score += 10;
        }
        if(estimate19.getData().equals("合格")){
            score += 10;
        }
        if(estimate20.getData().equals("合格")){
            score += 5;
        }
        if(estimate21.getData().equals("合格")){
            score += 5;
        }
        if(estimate22.getData().equals("合格")){
            score += 5;
        }
        if(estimate23.getData().equals("合格")){
            score += 10;
        }
        if(estimate24.getData().equals("合格")){
            score += 10;
        }
        if(estimate25.getData().equals("合格")){
            score += 10;
        }
        if(estimate26.getData().equals("合格")){
            score += 10;
        }
        if(estimate27.getData().equals("合格")){
            score += 10;
        }
        if(estimate28.getData().equals("合格")){
            score += 5;
        }
        if(estimate29.getData().equals("合格")){
            score += 10;
        }
        if(estimate30.getData().equals("合格")){
            score += 10;
        }
        if(estimate31.getData().equals("合格")){
            score += 5;
        }
        if(estimate32.getData().equals("合格")){
            score += 10;
        }
        if(estimate33.getData().equals("合格")){
            score += 10;
        }
        if(estimate34.getData().equals("合格")){
            score += 10;
        }
        if(estimate35.getData().equals("合格")){
            score += 10;
        }
        if(estimate36.getData().equals("合格")){
            score += 10;
        }
        if(estimate37.getData().equals("合格")){
            score += 10;
        }
        if(estimate38.getData().equals("合格")){
            score += 10;
        }
        if(estimate39.getData().equals("合格")){
            score += 10;
        }
        if(estimate40.getData().equals("合格")){
            score += 10;
        }
        if(estimate41.getData().equals("合格")){
            score += 10;
        }
        if(estimate42.getData().equals("合格")){
            score += 10;
        }
        if(estimate43.getData().equals("合格")){
            score += 10;
        }
        if(estimate44.getData().equals("合格")){
            score += 10;
        }
        if(estimate45.getData().equals("合格")){
            score += 5;
        }
        if(estimate46.getData().equals("合格")){
            score += 5;
        }
        if(estimate47.getData().equals("合格")){
            score += 5;
        }
        if(estimate48.getData().equals("合格")){
            score += 5;
        }
        if(estimate49.getData().equals("合格")){
            score += 5;
        }
        if(estimate50.getData().equals("合格")){
            score += 10;
        }
        if(estimate51.getData().equals("合格")){
            score += 10;
        }
        if(estimate52.getData().equals("合格")){
            score += 10;
        }
        if(estimate53.getData().equals("合格")){
            score += 5;
        }
        if(estimate54.getData().equals("合格")){
            score += 5;
        }
        double rate = score / fullScore * 100;
        B239WellControlResult result = new B239WellControlResult();
        result.setRateScore(rate);
        String s = CommonMethods.toGrade(rate);
        result.setRateResult(s);
        return result;
    }
}
